Win7升级Win10加装M.2硬盘的启动项问题 微星 Legacy/uefi SATA 自带工具mbr2gpt 您所在的位置:网站首页 微星x99a gaming7搭配2699v4 Win7升级Win10加装M.2硬盘的启动项问题 微星 Legacy/uefi SATA 自带工具mbr2gpt

Win7升级Win10加装M.2硬盘的启动项问题 微星 Legacy/uefi SATA 自带工具mbr2gpt

2023-11-22 11:33| 来源: 网络整理| 查看: 265

关键词:win7 win10 自带 微星 主板 M.2 SATA legacy+UEFI MBR GPT 系统迁移

本文完全倒叙(结论——原理——排查),强调只用自带工具,可能只有参考示意图甚至没有配图,不要问第三方工具有没有毒。

问题描述:加装M.2硬盘后,原安装在sata系统盘上的win10无法启动,其中win10由win7升级而来

结论:利用mbr2gpt将原系统盘MBR分区无损转为GPT分区

简要版:一些主板上强制M.2接口为UEFI设备,并且legacy+UEFI引导时UEFI优先,并且没有legacy only模式。而win7升win10时保留了原SATA系统盘的MBR分区,故无论是否手动选择启动盘,SATA接口/MBR系统盘启动项顺位永远无法超过M.2盘,永远不能正常启动。

解决:win10 1703后自带Mbr2gpt.exe工具,可以将不超过三个主分区【含隐藏分区】或【没有逻辑分区】+有足够空间(100M~1G)的SATA接口/MBR系统盘无损转为GPT分区,由此可以使用UEFI引导,并设置启动项顺位高于M.2盘。

所有排查和解决都可以用win10自带工具解决,无需任何第三方软件,别问我中了多少次毒。

下面都是遇到的坑

主板:微星MSI X99A RAIDER

原系统盘:Samsung 850 EVO SATA接口 win10系统

新加装盘:WD PC SN530  M.2接口 

外部启动介质:win10安装U盘 所需空间大于4.01GB

首先认识两个对子:UEFI引导+GPT分区(win8.1以后+2TB以上硬盘)/legacy引导+MBR分区(旧OS+2TB以下硬盘)

其中,UEFI只能引导GPT分区的系统盘,而MBR分区的系统盘只能以legacy引导。非系统盘则不论。

GPT分区的硬盘,只能建立“主分区”

一些主板默认M.2盘为第一启动项,但实现的方法是:在legacy+uefi引导时UEFI引导优先+M.2接口为UEFI设备,故M.2盘(UEFI Hard disk)顺位永远最高。只有UEFI设备不存在,才能轮到到legacy引导的MBR分区系统盘(Hard disk)。

故即使将M.2盘转为MBR*,或在boot option手动选择MBR盘启动(legacy+uefi模式/Hard disk),也无法恢复SATA接口系统盘的优先启动。因为仍存在一个UEFI设备,结果还是黑屏。

比心跳还刺激

问题在于,win10本身是不能在MBR分区的硬盘上安装的,这本来不成问题。但如果用户的win10是从win7升级而来,则系统盘完全可能仍是MBR分区。用户也许根本没有注意到,自己平时的bios模式(legacy+UEFI)实质上是legacy。而SATA接口的GPT分区硬盘是不会与同为SATA接口的系统盘抢启动项顺位的。(win7后期已更新GPT硬盘支持)

魔幻之处

并且,x79以后的主板很可能根本没有legacy only模式,或无法实现legacy only**。

你以为这样就有用了?

同时,也无法通过“系统备份与还原”实现MBR系统盘迁移到M.2盘,因“该系统映像是在使用BIOS的计算机上创建的,而此计算机使用的是EFI。”由此可知,M.2盘被主板强制认定为UEFI设备,无论其分区格式为何。

请自行将"BIOS"和EFI”换位

因此,可以用Mbr2gpt.exe将MBR系统盘无损转换为GPT分区,win10 1703后就内置了此工具

具体方法如下:

0,在cmd中键入msinfo32,检查bios模式是否为“传统(legacy)”

转载仅供参考

微软官方说明文件

https://docs.microsoft.com/zh-cn/windows/deployment/mbr-to-gpt

1,进入win re界面:

不装M.2盘正常启动,点击【关机-重启】时按住SHIFT,或制作win10安装U盘/恢复驱动器***,以U盘引导启动,并在安装界面选择【修复此电脑】

原系统能启动时,按住SHIFT并点击重启别看他,看这儿

2,按下【SHIFT+F10】,或选择【高级选项-命令提示符】

为什么不用更帅的快捷键呢

3,键入以下命令(如不在win re下则加上 /allowfullos):

mbr2gpt /validate 验证硬盘结构是否能转为gpt,该步骤默认选择系统盘。

假设disk 0为系统盘

disk 0为系统盘,不在win re下时的命令

提示Validation completed successfully说明可以无损转换,键入mbr2gpt /convert

disk 0为系统盘

返回Conversion completed successfully则成功。

不成功的方法看后文,如Disk layout failed for disk(系统盘)

4,在bios中选择UEFI模式

你知道该看什么颜色

此时可以发现,下面的UEFI Hard Disk Drive BBS Priorities有一个[windows boot manager (转换后的GPT系统盘)]的选项,调整到最上方,并在boot order prioritie里设为更靠前的选项。

5,在cmd输入msinfo32,查看结果

这样就成了

以上每一步都完全可以在win10官方功能中实现,但实际操作中可能存在一些问题,特别困扰系统较老的用户。

比如,当MBR2GPT /validate时,返回Disk layout failed for disk(系统盘)

此图disk0为系统盘

查看微软官方的说明,其中最常见的如下:

在老设备上,最常见的原因就是MBR系统是装在SSD盘上,而用SSD时实际上是分过区的,拿来放软件之类。这就意味着很可能有存在于MBR盘中的逻辑分区。此时只能对逻辑分区采取【删除卷】的方式,将其转为未分配空间。

你没有放重要文件在里面对吧?

还有一种情况,实际上是因为EFI系统分区在使用现有MBR分区时,MBR系统分区可能小于100M或大于1G,则Mbr2gpt无法将其直接创建为EFI系统分区。如果不懂的不要往下操作了。我也不懂。

另外,超过四个主分区可能会返回Cannot find room for the EFI system partition,而装系统本身就会产生三个分区。

前三个为安装系统就会产生的分区 最后一个不能是逻辑驱动器(逻辑分区)

硬盘剩余空间不足也会返回,可以压缩卷腾空间。腾出来100M~1G的空间即可,个人推荐1G。

将占据了空间的OS分区压缩少1G,腾出一个1G的空分区

*在win re的Diskpart中使用convert GPT/convert MBR命令,需格式化。

主要用于新装win10时提示只能装在gpt上

方法:win re或win10安装界面下按【SHIFT+F10】呼出cmd:

输入diskpart,回车,再输入list disk

选择要转换的磁盘号,输入select disk (磁盘号)

比如选择disk 1

输入clean,将磁盘格式化与删除所有分区。

输入convert gpt转为gpt分区/convert mbr转为mbr分区。

输入create partition primary(主分区)/extended(扩展分区)/logical(逻辑分区) 

加上size = MB数字即可创建新分区,不加这半条则全部为前述分区。其中后两者不能出现在mbr2gpt无损转换的MBR盘中。GPT盘也不能无损转回MBR(真的有人这么闲吗)

输入exit退出diskpart。

**在boot option中删除/Disabled所有uefi启动项,部分主板无效,比如微星 X99A RAIDER。

***解压win10原版IOS到U盘,或到微软官网下MediaCreationTool制作U盘介质。

解压ISO后可引导win10安装的U盘界面,注意文件位置,怎么放爷忘了官方MediaCreationTool

后面都是凑字数

老电脑是2015年购置的,加装了M.2硬盘后出现只有一个光标、不能启动win10的情况

首先排除boot option启动项顺序问题:重启,在自检页logo进入boot selection(本主板为F11),选择系统盘(三星850evo),仍然不能启动。

然后排除系统盘掉盘:拆除M.2硬盘,系统盘win10正常启动。

然后检查系统盘SATA接口位置:根据说明书,M.2安装时SATA5/6接口不可用,很多主板都是这样。但是系统盘没有插在SATA5/6上。

此时已经知道是M.2抢启动,重启,打开bios页面(本主板为自检页logo按F7),选择SETTING-system status/系统状态,发现SATA5/M.2 Port显示为“Not Present/不存在”。但M.2是靠CPU识别的,所以不成问题。

然后排除M.2硬盘问题:用win10安装U盘*进入安装页面,到选择安装盘时,发现了新加的M.2驱动器卷。并且可以在M.2上完成格式化、新建分区和安装win10。重启,选择原系统盘(三星850evo),仍然不能启动。

此时面临三个选择:1,在M.2盘新装系统。2,将系统迁移到M.2盘。3,坚持用原系统启动。

其中新装不可接受,那有没有可能在完全使用win10自带功能,实现迁移或启动原系统呢?

迁移系统到M.2:官方的系统迁移方法,主要是创建原系统的系统映像,然后在win re中系统映像还原,其中win re是内置在win10安装U盘里的,或者在【windows管理工具】找到【恢复驱动器】刻一个win re盘,后者体积要大于只有安装程序的前者。

因此可以外部引导启动同时装有M.2盘和原系统盘的设备。但还原映像时提示“该系统映像是在使用BIOS的计算机上创建的,而此计算机使用的是EFI。”

考虑可能是引导模式不对,先尝试将M.2转为bios,在安装界面发现可以给M.2装win10并正常启动,启动项为UEFI windows boot manager WD PC SN530,这可能是win10的新功能。重启,选原系统盘,仍然不能启动。

此时查到M.2出厂为GPT分区,同时观察原系统盘,发现在安装界面提示不能安装win10,原以为是空间问题,但给系统盘的空分区腾出空间后也不能安装,提示是win10不能装在MBR分区上。同时发现系统盘也是MBR。

分区表不同很可能需要格盘,保守起见只能先对M.2盘尝试转为mbr:使用convert mbr,并create partition primary,否则无法实现转分区。重启原系统盘,仍然不能启动。

为MBR后的M.2还原系统映像,返回仍然是“该系统映像是在使用BIOS的计算机上创建的,而此计算机使用的是EFI。”

再试给M.2还原系统备份,这需要给M.2安装新系统,再convert gpt。还原备份后发现只是还原了一些文件,设置注册表都没有还原。

回想”BIOS“和'EFI”的关系,进bios界面发现启动模式有legacy+UEFI和UEFI,选择UEFI则硬盘启动只剩下了新装好的UEFI windows boot manager WD PC SN530。

那么存在一种可能:主板设计上UEFI高于legacy,考虑到UEFI只能显示装了win10的盘(GPT),则要想用原系统盘(MBR)启动只能使用legacy/传统模式引导。

要实现legacy only启动,尝试将所有UEFI设备和M.2盘都Disabled,仍然不能启动。那么只能认为,M.2设备只能被视为UEFI设备并且无法通过现有bios更改,无论其是否为MBR。

因此只剩下一种方法,将系统盘转GPT。查询得知正好win10是自带有无损转换的mbr2gpt工具的。

验证的时候返回failed,看到返回错误有很多种原因,其中提到不能超过三个分区,再观察原系统盘,在安装系统时就多产生了两个隐藏的分区,同时还有一个以前放软件的分区,正巧还是逻辑分区。

拆掉M.2以原系统盘启动,进入磁盘管理删掉多余的逻辑分区。再运行mbr2gpt,转换成功。

插上M,2,启动模式设为UEFI,Boot Option1 = UEFI windows boot manager Samsung 850 EVO(系统盘,新增选项),启动成功。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有